Type Inheritance in Strongly Typed Genetic Programming

نویسندگان

  • Thomas D Haynes
  • Dale A Schoenefeld
  • Roger L Wainwright
  • Kenneth E Kinnear
  • Peter J Angeline
چکیده

Genetic Programming GP is an automatic method for generating computer programs which are stored as data structures and manipulated to evolve better programs An extension restricting the search space is Strongly Typed Genetic Programming STGP which has as a basic premise the removal of closure by typing both the arguments and return values of functions and by also typing the terminal set A restriction of STGP is that there are only two levels of typing We extend STGP by allowing a type hierarchy which allows more than two levels of typing Introduction A program written in a language that does not support natural ways to express the required algorithms will necessarily use unnatural methods Unnatural methods are less likely to be correct for all possible situations Sebesta p Strongly Typed Genetic Programming STGP Montana is used to restrict the search space con sidered in the Genetic Programming GP paradigm Koza This is shown in both the paper in which Montana introduced STGP Montana and in our research into multiagent behavioral strategies Haynes et al STGP is able to reduce the search space by only allowing syntactically correct programs to be generated and produced by the crossover and mutation operators Montana types both the function return value and the arguments and requires that the typing restrictions be honored by all operations on the S expressions In order to allow for a minimal function set generic types are introduced Generic types must be instantiated during node construction In e ect generic types allow for a two level type hierarchy as shown in Figure From object oriented programming Sebesta we know that it can be desirable to have more than two levels in a hierarchy A simple example involving cars and numbers illustrates this desire If we consider the class hierarchy shown in Figure and assume the standard arithmetic operators of addition subtraction division and multiplication then we do not want to have specialized versions of these operators for Reals and Integers The standard typing solution is to have a generic function for each of the operators which can handle any type However to type addition as Generic we would have to ensure that addition is overloaded such that it makes sense in all contexts which can be instantiated from Generic Failure to do so leads to the undesirable result that the program in Figure is valid What does it mean to add two Fords Are we simply counting the cars by type that pass us on the highway Or are we trying to add the qualities of one car to another to get a hybrid What we would like to do is to de ne the operator addition in class Numbers appropriately overload it in class Reals and class Integers and force the program in Figure to be invalid This further restricts the allowed inputs while still reducing the total number of functions We are extending the concept of a generic type for the tree to generic types for subtrees Hondas Reals Fords Integers Generic Figure An example STGP type hierarchy Reals Numbers Generic

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implementation of Dynamic Delegation in Strongly Typed Inheritance-Based Systems

In this paper we introduce an object-oriented model that integrates class-based inheritance and object-based, dynamic delegation in the framework of a static type system and we show that implementation techniques for strongly typed, inheritance-based languages can be adapted to handle dynamic delegation efficiently. Our model and implementation scheme show how today's "production programming" s...

متن کامل

Bbn Technical Report #7866: Strongly Typed Genetic Programming

Genetic programming is a powerful method for automatically generating computer programs via the process of natural selection Koza 92]. However, it has the limitation known as \closure", i.e. that all the variables, constants, arguments for functions, and values returned from functions must be of the same data type. To correct this deeciency, we introduce a variation of genetic programming calle...

متن کامل

Designing Pheromone Update Strategies with Strongly Typed Genetic Programming

Ant Colony algorithms are population-based methods widely used in combinatorial optimization problems. We propose a strongly typed genetic programming approach to automatically evolve the communication mechanism that allows ants to cooperatively solve a given problem. Results obtained with several TSP instances show that the evolved pheromone update strategies are effective, exhibit a good gene...

متن کامل

Functional genetic programming and exhaustive program search with combinator expressions

Using a strongly typed functional programming language for genetic programming has many advantages, but evolving functional programs with variables requires complex genetic operators with special cases to avoid creating ill-formed programs. We introduce combinator expressions as an alternative program representation for genetic programming, providing the same expressive power as strongly typed ...

متن کامل

A Depth Controlling Strategy for Strongly Typed Evolutionary Programming

This paper presents a dynamic strategy for monitoring the depth of program trees evolved by STEPS (Strongly Typed Evolutionary Programming System). STEPS evolves higher-order functional programs in the form of trees, which are allowed to grow or shrink to fit the size of the problem, via specialised genetic operators. Thus, the need for arbitrary cut-off mechanisms is eliminated.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996